Simple Loose Ownership Domains
نویسندگان
چکیده
Ownership Domains generalize ownership types. They support programming patterns like iterators that are not possible with ordinary ownership types. However, they are still too restrictive for cases in which an object X wants to access the public domains of an arbitrary number of other objects, which often happens in observer scenarios. To overcome this restriction, we developed so-called loose domains which abstract over several precise domains. That is, similar to the relation between supertypes and subtypes we have a relation between loose and precise domains. In addition, we simplified ownership domains by reducing the number of domains per object to two and hard-wiring the access permissions between domains. We formalized the resulting type system for an OO core language and proved type soundness and a fundamental accessibility property.
منابع مشابه
A Parameterized Type System for Simple Loose Ownership Domains
Ownership Domains generalize ownership types. They support programming patterns such as iterators that are not possible with ordinary ownership types. However, they are still too restrictive for cases in which an object X wants to access the public domains of an arbitrary number of other objects, which often happens in observer scenarios. To overcome this restriction, we develop so-called loose...
متن کاملSimple Loose Ownership Domains: Ein Typsystem zur Kapselung von Objekten
Java und andere objekt-orientierte Programmiersprachen bieten Kapselung nur auf Attribut-Ebene an. So ist es in Java z. B. möglich den Zugri auf Klassenattribute mit dem Schlüsselwort private auf Quelltext der gleichen Klasse zu beschränken. Dieser Ansatz ermöglicht es aber nur Werte von Attributen zu schützen. Objekte werden in Java durch Referenzen angesprochen. Um Objekte in Attributen zu sp...
متن کاملOwnership Domains: Separating Aliasing Policy from Mechanism
Ownership types promise to provide a practical mechanism for enforcing stronger encapsulation by controlling aliasing in objectoriented languages. However, previous ownership type proposals have tied the aliasing policy of a system to the mechanism of ownership. As a result, these proposals are too weak to express many important aliasing constraints, yet also so restrictive that they prohibit m...
متن کاملOwnership Domains in the Real World
The Ownership Domains type system has had publicly available tool support for a few years. However, the previous implementation used non-backwards compatible language extensions to Java and ran on a research infrastructure, which made it difficult to conduct substantial case studies on interesting systems. We first present a re-implementation of ownership domains using Java 1.5 annotations and ...
متن کاملVerification of Multithreaded Object-Oriented Programs with Invariants
Developing safe multithreaded software systems is difficult due to the potential unwanted interference among concurrent threads. This paper presents a sound, modular, and simple verification technique for multithreaded object-oriented programs with object invariants. Based on a recent methodology for object invariants in single-threaded programs, this new verification technique enables leak-pro...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006